function * fn () {
    for(let i of [2, 3,4]) {
        yield i;
    }
}

var g = fn();

console.log(g.next())
console.log(g.return('stop'))
console.log(g.next())


// { value: 2, done: false }
// { value: 'stop', done: true }
// { value: undefined, done: true }